<?php

namespace common\helpers;

class CodeHelper
{

    // code 字典
    public static $codes;

    /**
     * 错误信息
     *
     * @param string $code code
     *
     * @return string
     *
     * @auth ice.leng(lengbin@geridge.com)
     * @issue
     */
    public static function getCodeText($code)
    {
        if (is_null(self::$codes)) {
            self::$codes = self::init();
        }
        return self::$codes[$code] ? self::$codes[$code] : '出错了～';
    }

    /**--------------code 常量-------------------**/
    /*
     *  code  编码分类 code 长度为 6位
     *
     *  权限直接403
     *
     *  1开头  为 系统
     *  2开头  为 项目
     *
     *
     *  以此为例,仅供参考,待补充
     */
    /** 系统 保留 http code **/
    const SYS_SUCCESS = 200;
    const SYS_PARAMS_ERROR = 400;
    const SYS_REQUEST_ERROR = 403;
    const SYS_NOT_FOUND = 404;
    const SYS_EXCEPTION_ERROR = 500;

    /** 系统 **/
    const SYS_FORM_ERROR = 1008;
    const SYS_SIGN_ERROR = 1009;
    /** 业务 **/
    const TOKEN_INVALID = 1010;
    const TOKEN_EXPIRES = 1011;
    const TOKEN_OFFLINE = 1012;
    const NORMAL_CODE = 8;


    /**--------------code 常量-------------------**/


    /**
     * 字典
     * @return array
     *
     * @auth ice.leng(lengbin@geridge.com)
     * @issue
     */
    public static function init()
    {
        /*
         *  code  编码分类 code 长度为 6位
         *  0开头  为 系统
         *  1开头  为 项目
         *
         *
         *  以此为例,仅供参考,待补充
         */
        return [
            /** 系统 **/
            self::SYS_SUCCESS => 'Success',
            self::SYS_PARAMS_ERROR => '请求参数错误',
            self::SYS_FORM_ERROR => '表单验证错误',
            self::SYS_REQUEST_ERROR => '请求被拒绝',
            self::SYS_NOT_FOUND => '请求没有找到',
            self::SYS_EXCEPTION_ERROR => '服务器内部错误',
            self::SYS_SIGN_ERROR => '签名错误',

            /** 系统 **/
            /** 登录 **/
            self::TOKEN_INVALID => '无效token',
            self::TOKEN_EXPIRES => 'token已到期，请重新登录',
            self::TOKEN_OFFLINE => '当前账号在其他地方登录，请重新登录',
            self::NORMAL_CODE => '出错了',
            /** 登录 **/
        ];
    }

}
